package com.bdqn.mapper.common;

import com.bdqn.pojo.AppInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AppInfoMapper {
    /**
     * 查询开发者手机信息
     * @param softwareName
     * @param status
     * @param flatformId
     * @param categoryLevel1
     * @param categoryLevel2
     * @param categoryLevel3
     * @return
     */
    List<AppInfo> appInfoList(@Param("softwareName") String softwareName,@Param("status") Long status,
                              @Param("flatformId") Long flatformId,@Param("categoryLevel1") Long categoryLevel1,
                              @Param("categoryLevel2") Long categoryLevel2,@Param("categoryLevel3") Long categoryLevel3,
                              @Param("pageIndex")Integer pageIndex,@Param("pageSize")Integer pageSize);

    /**
     * 获取开发者手机总数据
     * @return
     */
    int pageCount(@Param("softwareName") String softwareName,@Param("status") Long status,
                  @Param("flatformId") Long flatformId,@Param("categoryLevel1") Long categoryLevel1,
                  @Param("categoryLevel2") Long categoryLevel2,@Param("categoryLevel3") Long categoryLevel3,
                  @Param("pageIndex")Integer pageIndex,@Param("pageSize")Integer pageSize);

    /**
     * 查询后台手机信息
     * @param softwareName
     * @param flatformId
     * @param categoryLevel1
     * @param categoryLevel2
     * @param categoryLevel3
     * @param pageIndex
     * @param pageSize
     * @return
     */
    List<AppInfo> appList(@Param("softwareName") String softwareName, @Param("flatformId") Long flatformId,
                          @Param("categoryLevel1") Long categoryLevel1, @Param("categoryLevel2") Long categoryLevel2,
                          @Param("categoryLevel3") Long categoryLevel3, @Param("pageIndex")Integer pageIndex,
                          @Param("pageSize")Integer pageSize);

    /**
     * 获取后台手机总数据
     * @return
     */
    int pageCountMgr(@Param("softwareName") String softwareName, @Param("flatformId") Long flatformId,
                     @Param("categoryLevel1") Long categoryLevel1, @Param("categoryLevel2") Long categoryLevel2,
                     @Param("categoryLevel3") Long categoryLevel3, @Param("pageIndex")Integer pageIndex,
                     @Param("pageSize")Integer pageSize);

    /**
     * 根据ID查询信息
     * @param id
     * @return
     */
    AppInfo getApp(@Param("id") Long id);

    /**
     * 审查通过修改状态
     * @param id
     * @param status
     * @return
     */
    int updateById(@Param("id")Long id,@Param("status")Long status);

    /**
     * 判断APKName是否为空或是否重复
     * @param APKName
     * @return
     */
    int APKNameExist(@Param("APKName")String APKName);

    /**
     * 添加手游信息
     * @param appInfo
     * @return
     */
    int addAppInfo(AppInfo appInfo);

    /**
     * 修改
     * @param appInfo
     * @return
     */
    int updateAppInfo(AppInfo appInfo);

    /**
     * 更新版本
     * @param id
     * @param versionId
     * @return
     */
    int updateAppVersionNo(@Param("id")Long id,@Param("versionId")Long versionId);

    /**
     * 删除图片
     * @param id
     * @return
     */
    int delLogo(@Param("id")Long id);

    /**
     * 删除手游
     * @param id
     * @return
     */
    int del(@Param("id")Long id);

    /**
     * 修改上架下架
     * @param onSaleDate
     * @param offSaleDate
     * @return
     */
    int updateSale(@Param("onSaleDate")String onSaleDate,@Param("offSaleDate")String offSaleDate,
                   @Param("id")Long id,@Param("status")Long status);

}
